import 'dart:convert';

import 'package:flutter/services.dart';
import 'package:xindong/models/xindong_city_class.dart';

class XinDongFileManager {

  //
  List<XinDongCityClass> cities = [];

  // 加载文件数据
  //
  // path 路径：'json/user.json'
  //
  // return 返回文件json格式内容
  Future loadJsonFile(String path) async {
    String fileContent = await rootBundle.loadString(path);
    return json.decode(fileContent);
  }

  // ======== 单例
  // 工厂方法构造函数
  factory XinDongFileManager() => _getInstance();

  // instance的getter方法，singletonManager.instance获取对象
  static XinDongFileManager get instance => _getInstance();

  // 静态变量_instance，存储唯一对象
  static XinDongFileManager? _instance;

  // 获取对象
  static XinDongFileManager _getInstance() {
    _instance ??= XinDongFileManager._internal();
    return _instance!;
  }

  // 私有的自定义命名式构造方法，通过它实现一个类;
  // 子类不能继承internal
  // 不是关键字，可定义其他名字
  XinDongFileManager._internal() {
    //初始化(设置一些默认的)...
  }
}
